The present invention relates to a storage technique for computer systems, or more in particular to a technique effectively applied to the disc array or the like for performing parallel read and write operations of data with a plurality of disc drives or disk drivers.
In the field of information processing, the information processing speed of the central processing unit of the computer has remarkably increased by use of the semiconductor techniques. In contrast, a great improvement in the operating performance including the data transfer speed of external storage units such as a magnetic disc unit is difficult to achieve due to the basic limitations in operation imposed by the need of mechanical operations.
For example, JP-A-62-24481 which claims the priority right on the basis of U.S. Patent Application Serial No. 06/732353 now abandoned filed on May 8, 1986 by Thinking Machine Corporation, proposes a disc array technique. The storage control technique disclosed in this publication is described below.
Logical data arriving from a host system such as a central processing unit is divided into a plurality of data blocks. A plurality of parity data blocks (redundant data blocks) are attached to the resulting data blocks. Each of the data blocks is written (updated) or read in parallel into a plurality of physical drives thereby to improve the data transfer speed.
In this case, in order to increase the speed of access to the data blocks and parity data blocks making up the logical data, the physical drives are often rotated synchronously. In the case where any of the data blocks making up the logical data develops a fault, the data blocks and the parity blocks other than the faulty data block are accessed concurrently by synchronous rotation, and the faulty data block is restored and transferred "on the fly", thereby realizing a high-speed data transfer.
Although the above-mentioned publication describes no method of restoring the data of the faulty data block, reliability is maintained by providing an alternate block replacing the faulty data block in an exclusive alternate block track according to a general SLED (Single Large Extensive Disk) unit.
According to the above-mentioned publication, the process for restoration of a faulty data block is performed in the following steps:
(1) The faulty data block is allocated to an exclusive alternate block track or an alternate area in the same track. PA1 (2) The data blocks other than the fault data block and the redundant data block for restoration of the faulty data are read out of a physical drive. PA1 (3) The faulty data block is restored by the data blocks except for the faulty one and the redundant data block. PA1 (4) The data block thus restored is stored in the alternate block.
The technique using this method poses the following problem:
Assume that the redundancy of the logical data including the faulty data block is 1 (there is one parity data block in the logical data, and the number of the faulty data blocks capable of being restored is one). In the case where another data block becomes faulty before a restored data block is generated from the redundant data block and the non-faulty data blocks and the restored data is written into an alternate block, then there are two faulty data blocks. Data cannot be restored for the logical data having a redundancy of 1 in the presence of two faults, and the logical data is thus lost.
The data restoration processing remains the same regardless of the risk of data loss determined by the redundancy of the logical data including the faulty data block and the number of faulty data blocks. Therefore, the reliability of the logical data is varied, thereby deteriorating the reliability of the storage system as a subsystem of the computer system. Let us consider the competition between the data restoration processing and the normal data update processing. According to the above-mentioned prior art, the update processing for the host system is ended by storing the data blocks other than the faulty data block and the redundant data block added to the logical data in the physical drive. As subsequent data restoration processing, the redundant data block and the data blocks other than the faulty data block are read from the corresponding physical drives and are restored as data. After restoration, the restored data block is stored in an alternate block. In view of the fact that a plurality of physical drives are occupied for restoration processing, the normal data transfer becomes impossible in the storage system during the process, resulting in a deteriorated performance as a subsystem.
High-speed transfer is realized, on the other hand, by making a plurality of data blocks constituting a logical data access concurrently to the physical drives. Since the physical position of the data blocks making up the logical data is displaced by allocation of an alternate block, access time (head positioning time) is varied, thereby leading to a deteriorated performance. Further, in the case where an alternate block is allocated indefinitely to an alternate block area each time of generation of a faulty data block, allocation to a separate track or a separate cylinder occurs, with the result that access time is varied even more and the performance of the system as a subsystem is deteriorated.